Many techniques are known for distributing messages within a computer system. As one example, one node designated as a primary node typically commences a broadcast to send a message to other nodes of the system. The message is serially sent from one node to another and so on until all of the nodes of the system have received the message. As the nodes receive the message, they send acknowledgements back to the primary node indicating receipt of the message. That is, each node that receives the message forwards an acknowledgement back to the primary node.
In very large computer systems, the return of the acknowledgements back to the primary node can be problematic. For instance, if the primary node receives too many acknowledgements at one time, then some of the acknowledgements may be missed or dropped leading to the unreliable distribution of messages.
Thus, a need exists for a message distribution technique, which is reliable and verifiable. A need also exists for a technique that does not require that all of the acknowledgements be passed back to the primary node. A need further exists for an implementation that allows intermediate nodes to relieve some of the burden of the primary node.